package com.wangxiang.sys.manage.service.Impl;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wangxiang.sys.manage.dao.LoginDao;
import com.wangxiang.sys.manage.dao.LoginLogDao;
import com.wangxiang.sys.manage.entity.LoginEntity;
import com.wangxiang.sys.manage.entity.LoginLogEntity;
import com.wangxiang.sys.manage.service.LoginLogService;
import com.wangxiang.sys.manage.service.LoginService;
import com.wangxiang.sys.manage.utils.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("LoginService")
public class LoginServiceImpl extends ServiceImpl<LoginDao, LoginEntity> implements LoginService {
    @Autowired
    LoginDao loginDao;
    @Autowired
    RedisUtils redisUtils;
    @Autowired
    LoginLogDao loginLogDao;
    @Autowired
    private LoginLogService loginLogService;




    /**
     * 登录
     * @param loginId
     * @return
     */
    @Override
    public LoginEntity login(String loginId) {
        //通过登录名查询数据库内是否有数据
        LoginEntity loginEntity = loginDao.selectLoginFormByLoginId(loginId);
        return loginEntity;
    }

    /**
     * 通过主键user_id查询权限
     * @param userId
     * @return
     */
    @Override
    public List<Object> getSysAuth(int userId) {
        return null;
    }

    /**
     * 登录日志
     * @param userId
     */
    @Override
    public void addLog(int userId , String login) {

        LoginLogEntity loginLogEntity = new LoginLogEntity();
        loginLogEntity.setUserId(userId);
        LoginEntity loginEntity = loginDao.getSysUserByUserId(userId);
        loginLogEntity.setLocaltion("贵阳"); //目前只能手动插入地址，后期上线以后会在网关出解析登录ip
        loginLogEntity.setUserName(loginEntity.getLoginId());
        loginLogEntity.setTime(new DateTime());
        loginLogEntity.setStatus(login);
        //调用接口
        loginLogService.add(loginLogEntity);


    }


}
